home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / git-4.3 / git-4 / git-4.3.11 / PROBLEMS < prev    next >
Encoding:
Text File  |  1996-03-28  |  6.7 KB  |  173 lines

  1. --*-text-*--
  2.  
  3.  
  4.             Known GNU Interactive Tools Problems
  5.             ====================================
  6.  
  7.  
  8. 1. Missing '.' directory problem
  9. 2. cp problems
  10. 3. SCO 3.2 V 4.2 problem
  11. 4. SLACKWARE Linux 1.2.0 / 2.0.0 termcap/terminfo problems
  12. 5. Linux color_xterm problems
  13. 6. File systems with no support for hard links (MS-DOG)
  14. 7. Sun sun-cmd & termcap problems
  15. 8. Problems linking with stat & lstat in ./configure
  16.  
  17. 1. Missing '.' directory problem
  18. --------------------------------
  19.  
  20. While working on a previous version of git, I've tried to use it to
  21. read a NFS mounted directory.  The file system was exported by a
  22. Ultrix system and mounted on a Linux system.  When I've entered the
  23. directory where the NFS mounted file system was supposed to be, git
  24. received a SIGSEGV signal.  Looking at that directory with 'ls', I've
  25. figured out that the directory was completely empty (the '.' & '..'
  26. directories were missing too) even thought the file system was
  27. reported as being succesfully mounted.  A few days later I've
  28. experienced the same problem on our HP-UX workstation, trying to mount
  29. a NFS file system exported by a SGI workstation.
  30.  
  31. Starting with that version of git, I've put two tests in the routine
  32. that reads the directory (panel_read_directory()) that check if the
  33. '.' and '..' directories have been found.  If any of them is missing,
  34. git will refuse to enter the directory, in order to avoid further
  35. problems.
  36.  
  37. Unfortunately, a few people have reported that git refuses to work on
  38. their machines because it can't find the '.' directory.  One of them
  39. was using Solaris 2.3 with NFS, the other one SunOS.
  40.  
  41. I recently installed NFS on a machine here and I tried to fix all the
  42. problems git had under NFS.  There were lots of problems, all of them
  43. were being related to the fact that NFS does lots of strange things:
  44.  
  45. 1) root can enter directories where it has no permission (remember,
  46. the root id is converted by NFS to -2 (an unprivileged user), and then
  47. is unable to read files (thus there is no ".." directory).
  48.  
  49. 2) in some other circumstances (directories with rw- permission only)
  50. it can enter the directory, read the entries but it is unable to stat
  51. them.
  52.  
  53. I don't know if the changes I've made will fix all the problems.  I
  54. have tried to emulate the ".." directory and to recover whenever
  55. possible.  Please let me know if it works for you.
  56.  
  57.  
  58. 2. cp problems
  59. --------------
  60.  
  61. "cp -f" doesn't work on all systems, so directories that are in fact
  62. symbolic links will not be copied.  If your cp does understands "-f",
  63. try modifying the panel_copy function in panel.c, replacing "cp -r"
  64. with "cp -r -f" or "cp -rf".
  65.  
  66.  
  67. 3. SCO 3.2 V 4.2 problems
  68. -------------------------
  69.  
  70.      Han Holl <100327.1632@compuserve.com> has reported some problems
  71. running git-4.3.5 on SCO Unix 3.2 V 4.2:
  72.  
  73. 1.    GIT didn't work with the ordinary malloc library:
  74. >   I used './configure --with-terminfo', and added -lmalloc to the LIBS
  75. > variable (it crashed with the ordinary malloc library). I used gcc.
  76.  
  77.  
  78. 4. SLACKWARE Linux 1.2.0 / 2.0.0 termcap/terminfo problems
  79. ----------------------------------------------------------
  80.  
  81. a. The 'ms' flag (safe to move in standout mode) is missing from the
  82. console termcap database.  It is available only in the console
  83. terminfo database (its terminfo name is 'msgr').
  84.  
  85. b. The 'sgr0' capability (according to the terminfo manual this is the
  86. terminfo name of the termcap 'me' capability) is missing from the
  87. console terminfo database but it is available in the termcap database.
  88. This is a problem for GIT when using terminfo because if we can't turn
  89. the reverse video mode or the brightness off, we should not turn them
  90. on at all.  I've solved the problem by using a hard-coded 'me' for the
  91. Linux console if I can't find 'me' in the database, but I hate this
  92. method.  This is one of the two reasons why I prefer using termcap
  93. under Linux (the second one is that the executable linked with the
  94. termcap library is a lot smaller).
  95.  
  96. c. The 'smacs' and 'rmacs' ('as' and 'ae' in termcap) are missing from
  97. the console termcap database but are available in the console terminfo
  98. database.
  99.  
  100. d. 'se' is \E[27m in termcap but 'rmso' (the terminfo equivalent) is
  101. \E[0m in terminfo.  Are both ok ?
  102.  
  103.  
  104. 5. Linux color_xterm problems
  105. -----------------------------
  106.  
  107. Sometimes, when moving the cursor, color_xterm deletes useful
  108. informations on the screen.  This is *NOT* an git bug because when
  109. hiding/repainting the window, the garbage disappears.  I don't know
  110. how to handle this.  The normal xterm (b/w) works fine.  Other
  111. xterm terminal emulators (with color support) like Linux's rxvt and
  112. Ultrix's xterm work just fine.
  113.  
  114. To reproduce the problem, start git, press the down arrow (or ^N), and
  115. then type a few spaces in the command line.  Those spaces will be
  116. displayed with the wrong color, but if you hide and the re-expose the
  117. color_xterm window, everything will be redisplayed correctly.
  118.  
  119.  
  120. 6. File systems with no support for hard links
  121. ----------------------------------------------
  122.  
  123. We can't *really* move a file on such file systems.  We have to copy
  124. the source file to the destination and then remove the it.  MS-DOG
  125. programs can perform a real move by copying the directory entry in the
  126. destination directory but I don't think we can do this under UNIX and
  127. I don't feel like writing MS-DOG "file system" dependent code.  Sorry.
  128. In fact, my real problem wasn't that stupid MS-DOG file system, but
  129. the impossibility of detecting such file systems.  The 'move' command
  130. will normally fail on file systems with no support for hard links, but
  131. under Linux it *will* work with MS-DOG file systems because I know
  132. MS-DOG lacks working hard links and I've put a small test in the right
  133. place :-).
  134.  
  135.  
  136. 7. Sun's sun-cmd termcap problems
  137. ---------------------------------
  138.  
  139. If you are using the sun-cmd terminal emulator under SunOS 5.4,
  140. Solaris or similar systems, it seems that the termcap library fails to
  141. work as expected.  because some capabilities are reported as missing
  142. even though they are available.  This leads to git being unable to
  143. display the frame in reverse video.  I've compiled git with the GNU
  144. termcap library and it works just fine, but the scrolling feature
  145. still has to be disabled.
  146.  
  147. I recently (4.3.8) changed git to work with standout mode whenever
  148. possible.  I don't know if this problem still exists.  Please let me
  149. know if you can figure it out.  Thanks.
  150.  
  151.  
  152. 8. Problems linking with lstat & stat in ./configure
  153. ----------------------------------------------------
  154.  
  155. For reasons I fail to understand, under my ELF Linux this program
  156. fails to compile:
  157.  
  158. char lstat();
  159.  
  160. int
  161. main()
  162. {
  163.     lstat();
  164. }
  165.  
  166. /tmp/cca024801.o(.text+0x4): undefined reference to `lstat'
  167.  
  168. The same is true if I change lstat() with stat().  Is there something
  169. special about them ?   If I replace lstat() with read() or putenv()
  170. everything is fine.  I had to add an ugly hack in config.h.in to get
  171. around this.
  172.  
  173.